gitc(如何成为全栈开发人员)
资讯
2024-01-19
389
1. gitc,如何成为全栈开发人员?
首先要知道全栈工程师究竟是干嘛的!!!
全栈工程师(full stack developer):就是要从一个产品设计伊始,提供包括一开始的页面设计,ui设计,前端开发,后端服务开发,数据库表开发,移动端开发,运维,技术支持的工程师!
换句话说就是一个人干完所有人的活!
一个合格的全栈工程师需要哪些能力呢?以JAVA为例:
首先,全局统筹的能力:你不仅要在项目开始之前,构建好一整个项目的结构,设计合理的连接方式,比如前后端分离,使用时下最流行的node.js和spring boot做前后端分离,提供前端页面(使用vue.js还是react)和后端服务,你要想好使用什么数据库,比如oracle(收费,性能好),mysql(免费,性能好),redis(免费,内存型数据库,key value),数据库是采用主从复制,读写分离还是分库分表,消息中间件选择,工作流引擎选择,规则引擎选择,等等!!!
最重要的你需要画出总流程图,组件流程图,工作流流程图等等!
其次,化零为整的能力:
ui设计:注意设计模式的选择>主题细节,分栏浏览,form,canvas,图表等的选择和合理布局
前端:使用前端框架,选用vue.js.react.angurlar等等最火的框架,搭建在node.js作为前后端分离,注意前端对于空对象,空组件,空数组等的判断,对于弹框,页面跳转,文件上传下载,时间控件等的支持!
后端:采用26种设计模式,在满足6种设计原则的情况下合理开发!选择合理的框架如spring boot作为restful风格的服务提供,如consul!采用分布式避免功能耦合,采用ons消息中间件用于消息传递,保证数据不丢失,使用事务,锁保证数据安全,日志打印保证查找问题快速,数据库连接中间件如druid,容器如mybatis,幂等性等判断!
数据库:基于成本和性能选择适合的数据库,如mysql,基于性能选择nosql数据库如mongodb,redis,基于数据安全性使用逻辑删除,数据多重保存!主从分离中间件或者基于aop自行实现,分库分表使用mycat
运维:熟悉linux指令,比如文件操作,权限授予,内容修改(vim),查找日志,定位问题,至少熟悉shell等一种脚本,用于应用打包,重启,日志分析等!掌握jenkins,保证持续集成的进行!掌握数据库主从复制等配置,掌握项目版本(svn)控制,私服(nexus)搭建maven等等!
测试:单元测试,集成测试,流程测试,数据测试,自动化测试,体验测试,功能测试!等等!!!代码评审(sonar),冲突解决等!
最后:产品迭代,持续支持,完善项目的能力:项目不是做完就完了,还有更多的业务修改,bug完善,直至一款完美的产品诞生!
等你这些全部掌握精通了,你去任何一家公司都是架构师级别的存在!
我是谢逅,旨在技术普及,让科技变得普通!
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!
1. gitc,如何成为全栈开发人员?
首先要知道全栈工程师究竟是干嘛的!!!
全栈工程师(full stack developer):就是要从一个产品设计伊始,提供包括一开始的页面设计,ui设计,前端开发,后端服务开发,数据库表开发,移动端开发,运维,技术支持的工程师!
换句话说就是一个人干完所有人的活!
一个合格的全栈工程师需要哪些能力呢?以JAVA为例:
首先,全局统筹的能力:你不仅要在项目开始之前,构建好一整个项目的结构,设计合理的连接方式,比如前后端分离,使用时下最流行的node.js和spring boot做前后端分离,提供前端页面(使用vue.js还是react)和后端服务,你要想好使用什么数据库,比如oracle(收费,性能好),mysql(免费,性能好),redis(免费,内存型数据库,key value),数据库是采用主从复制,读写分离还是分库分表,消息中间件选择,工作流引擎选择,规则引擎选择,等等!!!
最重要的你需要画出总流程图,组件流程图,工作流流程图等等!
其次,化零为整的能力:
ui设计:注意设计模式的选择>主题细节,分栏浏览,form,canvas,图表等的选择和合理布局
前端:使用前端框架,选用vue.js.react.angurlar等等最火的框架,搭建在node.js作为前后端分离,注意前端对于空对象,空组件,空数组等的判断,对于弹框,页面跳转,文件上传下载,时间控件等的支持!
后端:采用26种设计模式,在满足6种设计原则的情况下合理开发!选择合理的框架如spring boot作为restful风格的服务提供,如consul!采用分布式避免功能耦合,采用ons消息中间件用于消息传递,保证数据不丢失,使用事务,锁保证数据安全,日志打印保证查找问题快速,数据库连接中间件如druid,容器如mybatis,幂等性等判断!
数据库:基于成本和性能选择适合的数据库,如mysql,基于性能选择nosql数据库如mongodb,redis,基于数据安全性使用逻辑删除,数据多重保存!主从分离中间件或者基于aop自行实现,分库分表使用mycat
运维:熟悉linux指令,比如文件操作,权限授予,内容修改(vim),查找日志,定位问题,至少熟悉shell等一种脚本,用于应用打包,重启,日志分析等!掌握jenkins,保证持续集成的进行!掌握数据库主从复制等配置,掌握项目版本(svn)控制,私服(nexus)搭建maven等等!
测试:单元测试,集成测试,流程测试,数据测试,自动化测试,体验测试,功能测试!等等!!!代码评审(sonar),冲突解决等!
最后:产品迭代,持续支持,完善项目的能力:项目不是做完就完了,还有更多的业务修改,bug完善,直至一款完美的产品诞生!
等你这些全部掌握精通了,你去任何一家公司都是架构师级别的存在!
我是谢逅,旨在技术普及,让科技变得普通!
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!